export interface CalendarEvent {
  id: string
  userId: string
  title: string
  description?: string
  date: Date
  time?: string
  color?: string
  createdAt: Date
  updatedAt: Date
}

export interface UserActivity {
  id: string
  userId: string
  date: Date
  count: number
  type: 'login' | 'todo_completed' | 'algorithm_added' | 'event_created'
  description?: string
}

export interface CreateEventRequest {
  title: string
  description?: string
  date: Date
  time?: string
  color?: string
}

export interface UpdateEventRequest {
  title?: string
  description?: string
  date?: Date
  time?: string
  color?: string
}

export interface ActivityStats {
  totalActivities: number
  todayActivities: number
  weekActivities: number
  monthActivities: number
  streak: number
  longestStreak: number
}

export interface HeatmapData {
  date: string
  count: number
}